<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue中的JS动画与velocity.js</title>
  <script src="./vue.js"></script>
  <script src="./velocity.js"></script>
</head>
<body>

  <div id="root">
    <transition 
      name="fade"
      @before-enter="handleBeforeEnter"
      @enter="handleEnter"
      @after-enter="handleAfterEnter"
    >
      <div v-show="show">Hello World</div>
    </transition>
    <button @click="handleClick">toggle</button>
  </div>

  <script>
    var vm = new Vue({
      el: "#root",
      data: {
        show: true
      },
      methods: {
        handleClick: function() {
          this.show = !this.show
        },
        handleBeforeEnter: function(el) {
          el.style.opacity = 0;
        },
        handleEnter: function(el, done) {
          Velocity(el, {
            opacity: 1
          }, {
            duration: 1000, 
            complete: done
          })
        },
        handleAfterEnter: function(el) {
          console.log("动画结束")
        }
      }
    })
  </script>

</body>
</html>